import java.util.Arrays;

public class Practice {

    public static void main(String[] args) {
        int[] arr = new int[10];

        //数组的使用-->直接使用
        System.out.println(arr[0]);
        System.out.println(arr[1]);
       // System.out.println(arr[10]);
        //for循环
        for (int i = 0; i < arr.length; i++) {
            arr[i] = i;
            //System.out.println(arr[i]);
        }
        System.out.println("___________");
        //foreach 循环之适合打印？？
//        for (int x: arr) {
//            x = 10;
//            //System.out.println(x);
//        }
//        for (int y: arr) {
//            System.out.println(y);
//        }
        System.out.println(Arrays.toString(arr));
        Arrays.sort(arr);
        System.out.println(Arrays.binarySearch(arr, 1));
        //引用类型--》
//      内存的划分
    }
    public static void main2(String[] args) {
        //数组：用来存储一组相同类型的数据的
        //数组的定义 数据类型 数组名 int[]-->类型 array --》变量名
        int[] array1;
        int[] array2 = new int[10];
        //定义数组但不初始化，可以指定数组大小
        int[] array3 = {1,2,3,4,5,6};
        //定义数组同时初始化，是下面面的简写，不可以指定数组大小
        int[] array4 = new int[]{1,2,3,4,5,6};
        //定义数组同时初始化，和上面的相同，不可以指定数组大小
        //一般通过new关键字实例化一个对象，Java当中的数组就是一个1对象，Java当中一切皆对象

        //只要在创建时初始化了就不可以指定数组的大小


        //数组的初始化分为静态初始化和动态初始化
        //动态初始化：在初始化时，直接指定数组中元素的个数
        int[] array6 = new int[10];
        //静态初始化：在创建数组时不直接指定数组的大小，而是直接将具体的数据内容进行指定
        int[] array7 = {1,2,3,4,5,6};
        int[] array8 = new int[]{1,2,3,4,5,6};

        //静态初始化和动态初始化可以分为两步
        int[] array9 = new int[10];
        int[] array10;
        array10 = new int[]{1,2,3,4,5,6};
        array10 = new int[10];

        //如果没有初始化，则是默认值，布尔数组默认是false

        String str = new String("hello");
        //System.out.println(str);
        String str2 = "bit";






    }

    public static void main1(String[] args) {
        hanota(64 , 'A' , 'B','C');
    }
    public static void hanota(int n,char pos1,char pos2,char pos3) {
        if(n == 1) {
            move(pos1,pos3);
            return ;
        }
        hanota(n-1 , pos1 , pos3 , pos2);
        move(pos1,pos3);
        hanota(n-1,pos2,pos1,pos3);
    }

    public static void move(char pos1,char pos2) {
        System.out.println(pos1+"-->"+pos2);
    }
}



